                       
		 	  ===========
                            README
                          ===========

                      QLogic 5706 Multiple Boot Agent (MBA)
                           [ PXE,BOOTP,iSCSI Boot ]

                  Copyright (c) 2015 QLogic Corporation
                                 All rights reserved.
                              


******************************** IMPORTANT NOTE *******************************
*                                                                             *
* 1. All of the released binary images except bxbase.bin have standard ROM   *
* header which has embeded Vendor ID/Device ID.  BIOS only  loads MBA image   *
* if Vendor ID/Device ID matches the Vendor ID/Device ID of the controller.   *
* The default Vendor ID/Device ID in the released images are for BCM5706      *
* controller (0x14e4/0x164a). If this image is programmed to NIC without      *
* using Broadcom's flashing utilities such as NVM command in xdiag.exe        *
* then the provided romhdr.exe must be used to update ROM header with the     *
* Vendor ID/Device to match with intended controller.                         *
* Similarily, in LOM application where MBA image is integrated to BIOS, it's  *
* mandatory to use romhdr.exe to update image's ROM header to match with      *
* intended target controller's Vendor ID/Device ID.                           *
*                                                                             *
* 2. UNDI driver is not fully supported in EFI IA-64 environment.  It might   *
*    not work correctly some platforms/environments.                          *
*                                                                             *
* 3. The first bootstrap for BOOTP download has to be within the range of     *
*    640K - 32K - sizeof(UNDI)+sizeof(base code).  This is normally about     *
*    520K.  The first phase of BOOTP bootstrap can download the rest of       *
*    image by interfacing with PXE API which is still in conventional         *
*    memory.                                                                  *
*******************************************************************************

Introduction
============

This file describes the QLogic Multiple Agent for QLogic's BCM5706/BCM5708
10/100/1000 Mbps Ethernet Network Interface Controller.  QLogic Multiple
Boot Agent (MBA) supports PXE,RPL, and BOOTP.  Three sets of binary images are
released in the following directories:

* Legacy : These images comply to legacy BIOS.

* Fw30 : These images comply to PCI F/W 3.0 specification.  They can run fine in 
both legacy BIOS and PCI F/W BIOS.

* Fw30_clp : These images comply to PCI F/W 3.0 specification and they also have 
CLP support.  See clp.pdf for details.

Multiple Agent driver is released in the following binaries:

bxpxe.nic: This is a monolithic image that consists of both 
            base-code (BC) and UNDI code. This image should be used 
            on the NIC application.
            However, an adapter programmed with this image is still 
            operational in the motherboard's BIOS with built-in BC; 
            the BC on the adapter will be used.  This image only
            supports PXE.

bxundi.nic: This is an UNDI image that consists of UNDI code only 
             (split implementation) which is intended for NIC 
             application.

bxbase.lom: This is a BC image that consists of BC code only 
             (split implementation) which is intended for LOM application. 
             This module should be programmed on the motherboard's BIOS. 

bxundi.lom: This is an UNDI image that consists of UNDI code only 
             (split implementation) which is intended for LOM application.
             This module should be programmed on on the motherboard's BIOS.

bxpxe.lom : This is a monolithic image that consists of both 
             base-code (BC) and UNDI code. This image is intended for 
             LOM application.  This image only supports PXE.

bxumba.lom : This is an UNDI image that consists of UNDI code only 
             (split implementation) which is intended for LOM application.
             This UNDI driver supports PXE and RPL.
             This module should be programmed on on the motherboard's BIOS.

bxumba.nic : This is an UNDI image that consists of UNDI code only 
             (split implementation) which is intended for NIC application.
             This UNDI driver supports PXE and RPL.

bxmmba.nic : This is a monolithic image that consists of both 
              base-code (BC) and UNDI code. This image should be used 
              on the NIC application. An adapter programmed with this image is 
              still operational in the motherboard's BIOS with built-in BC; 
              the BC on the adapter will be used.  This image supports
              both PXE and RPL.

bxmmba.lom : This is a monolithic image that consists of both 
              base-code (BC) and UNDI code. This image should be used 
              on the LOM application. This image supports both PXE and RPL.

romhdr.exe : This tool can be used to customize PXE image for different
             ASIC-based LOM applications.  It basically modifies the
             Vendor ID/Device ID in the ROM header of the image and
             then recalculates the checksum. 

clp.pdf    : This document specifies all CLP commands that MBA ROM supports.

Application
===========

Some example applications are used to clarify the usage of these binary 
images.

1. BCM5706 LOM with PXE and RPL support: bxbase.lom and bxumba.lom
   should be integrated with system BIOS.

2. BCM5706 LOM with PXE support ONLY: bxbase.lom and bxundi.lom
   should be integrated with system BIOS.

3. BCM5706 NIC with PXE and RPL support: bxmmba.nic should be programmed
   to NIC's NVRAM (serial EEPROM/FLASH).

4. BCM5706 NIC with PXE ONLY support: bxpxe.nic should be programmed
   to NIC's NVRAM (serial EEPROM/FLASH).



